# 用下载完的文件网址提供的md5和下载完后的md5比较是否一致
import hashlib

def main():
    digester = hashlib.md5()
    with open('','rb') as file_stream:
        # 设置文件一次的读取大小，防止把大的文件一下全部读取，浪费时间
        # 方法一，冗余多
        # data = file_stream.read(1024)
        # while data:
        #     digester.update(data)
        #     data = file_stream.read(1024)

        # 方法二，利用迭代器
        # 把不可迭代的变成可迭代的，b''表示空字节
        file_iter = iter(lambda:file_stream.read(1024),b'')
        for data in file_iter:
                digester.update(data)

    print(digester.hexdigest())

if __name__ == '__main__':
    main()